4,351 research outputs found
Bridging the gap between design and implementation of components libraries
Object-oriented design is usually driven by three main reusability principles:
step-by-step design, design for reuse and design with reuse. However, these
principles are just partially
applied to the subsequent object-oriented implementation, often due to efficienc
y
constraints, yielding to a gap between design and implementation. In this paper
we provide a solution for bridging this gap for a concrete framework, the one of
designing and implementing container-like component libraries, such as STL, Booc
h
Components, etc. Our approach is based on a new design pattern together with its
corresponding implementation. The proposal enhances the same principles that
drive the design process: step-by--step implementation (adding just what is
needed in every step), implementation with reuse (component implementations are
reused while library implementation
progresses and component hierarchies grow) and implementation for reuse
(intermediate component implementations can be reused in many different points o
f
the hierarchy). We use our approach in two different manners: for building a
brand-new container-like
component library, and for reengineering an existing one, Booch Components in
Ada95.Postprint (published version
Improving design and implementation of OO container-like component libraries
Object-oriented design is usually driven by three main reusability
principles: step-by-step design, design for reuse and design with reuse.
However, these principles tend to be just partially applied to the
subsequent object-oriented implementation, often because they conflict
with other quality criteria (remarkably, efficiency). So, there is a gap
between design and implementation: due to these conflicts developers use
to give up design level abstractions during the implementation. In this
paper we present a framework for bridging this gap for a concrete
domain, the design and implementation of object-oriented container-like
component libraries, such as JCF, STL, Booch Components, LEDA, etc. At
the core of the framework we propose a new design pattern called
emph{Shortcut} together with its corresponding implementation. The
Shortcut pattern, introduced in a generic base class container, provides
a secure and efficient access to items in a container decoupled from the
implementation details of concrete containers. Shortcut enhances
applying the same principles that drive the design process to the
implementation process of these libraries: step-by-step implementation,
implementation with reuse and implementation for reuse without
penalising other quality criteria. Our framework not only supports the
design and implementation of new libraries but also the reengineering of
existing ones to overcome some of their drawbacks. We show by a case
study, reengineering the Booch Components in Ada95, the application and
benefits of our framework.Postprint (published version
Adding efficient and reliable access paths to the JCF
The Java Collections Framework (JCF) is the standard Java library for
representing and manipulating collections (i.e., objects that represent
a group of objects, such as sets, lists, etc.). Although JCF provides
adequate functionality for many purposes, it does not offer any
mechanism for accessing directly the objects stored in collections
apart from the standard Java references. This absence is a crucial
functionality exhibited by many other widespread Java and non-Java
collection libraries. In this paper, we carry out a reengineering
process on the JCF to add this kind of alternative access paths, which
we give the name of shortcuts. This process relies on a framework
called Shortcut-Based Framework, which has been defined as library-
independent. We present this framework and then we show how it may be
tailored to the specific case of the JCF. The resulting JCF with
shortcuts library is fully compatible with the original one (i.e.,
programs using the original JCF are not required to be modified), and
exhibits good behaviour with respect to efficiency, reliability and
internal quality. As an additional benefit of the framework, we mention
that it can be applied to other collection libraries, as we have done
before with an Ada95 one.Postprint (published version
Shortcuts: abstract "pointers''
In this work we present the specification and the implementation
of a new abstract data type (ADT) called STORE. This new ADT allows
the storage of a given collection of elements offering an abstract
mechanism that supplies a direct access to them, alternative to the
method defined by the standard operations of usual ADTs. The interest
of the new mechanism stems from the efficiency of pointers, while
avoiding the loss of modularity that usually occurs when pointers
are used. The implementation of the operations offered by the new
ADT is done by derivation from the equational specification. The
representation chosen for the implementation of the new ADT makes
the efficiency previously mentioned possible, even when the
representation strategy requires the movement of the elements.Postprint (published version
Lightweight and static verification of UML executable models
Executable models play a key role in many software development methods by facilitating the (semi)automatic implementation/execution of the software system under development. This is possible because executable models promote a complete and fine-grained specification of the system behaviour. In this context, where models are the basis of the whole development process, the quality of the models has a high impact on the final quality of software systems derived from them. Therefore, the existence of methods to verify the correctness of executable models is crucial. Otherwise, the quality of the executable models (and in turn the quality of the final system generated from them) will be compromised. In this paper a lightweight and static verification method to assess the correctness of executable models is proposed. This method allows us to check whether the operations defined as part of the behavioural model are able to be executed without breaking the integrity of the structural model and returns a meaningful feedback that helps repairing the detected inconsistencies.Peer ReviewedPostprint (author's final draft
Quantum Navigation and Ranking in Complex Networks
Complex networks are formal frameworks capturing the interdependencies
between the elements of large systems and databases. This formalism allows to
use network navigation methods to rank the importance that each constituent has
on the global organization of the system. A key example is Pagerank navigation
which is at the core of the most used search engine of the World Wide Web.
Inspired in this classical algorithm, we define a quantum navigation method
providing a unique ranking of the elements of a network. We analyze the
convergence of quantum navigation to the stationary rank of networks and show
that quantumness decreases the number of navigation steps before convergence.
In addition, we show that quantum navigation allows to solve degeneracies found
in classical ranks. By implementing the quantum algorithm in real networks, we
confirm these improvements and show that quantum coherence unveils new
hierarchical features about the global organization of complex systems.Comment: title changed, more real networks analyzed, version published in
scientific report
Experimental study of visual corona under aeronautic pressure conditions using low-cost imaging sensors
Visual corona tests have been broadly applied for identifying the critical corona points of diverse high-voltage devices, although other approaches based on partial discharge or radio interference voltage measurements are also widely applied to detect corona activity. Nevertheless, these two techniques must be applied in screened laboratories, which are scarce and expensive, require sophisticated instrumentation, and typically do not allow location of the discharge points. This paper describes the detection of the visual corona and location of the critical corona points of a sphere-plane gap configurations under different pressure conditions ranging from 100 to 20 kPa, covering the pressures typically found in aeronautic environments. The corona detection is made with a low-cost CMOS imaging sensor from both the visible and ultraviolet (UV) spectrum, which allows detection of the discharge points and their locations, thus significantly reducing the complexity and costs of the instrumentation required while preserving the sensitivity and accuracy of the measurements. The approach proposed in this paper can be applied in aerospace applications to prevent the arc tracking phenomenon, which can lead to catastrophic consequences since there is not a clear protection solution, due to the low levels of leakage current involved in the pre-arc phenomenon.Peer ReviewedPostprint (published version
Third-Harmonic and intermodulation distortion in bulk acoustic-wave resonators
This article discusses on the measured third-order intermodulation (IMD3) products and third harmonics (H3) appearing in a set of six different solidly mounted resonators (SMR) and bulk acoustic-wave (BAW) resonators with different shapes and stack configurations. The discussion is supported by a comprehensive nonlinear distributed circuit model that considers the nonlinear effects potentially occurring in any layer of the resonator stack. The aluminum-nitride (AlN) and silicon-dioxide (SiO2) layers are identified as the most significant contributors to the IMD3 and H3. The frequency profile of the third-order spurious signals also reveals that, in temperature-compensated resonators, where the SiO2 layers are usually thicker, the remixing effects from the second-order nonlinear terms are the major contributors to the IMD3 and H3. These second-order terms are those that explain the second-harmonic (H2) generation, whose measurements are also reported in this article. Unique values of the nonlinear material constants can explain all the measurements despite the resonators have different shapes, resonance frequencies, and stack configurations.Peer ReviewedPostprint (author's final draft
- …